

 


  
!"#$%"&$'
!"#$%"&$'
services








 
!
!"#$%"&$'
"#integrated and
networked hardware, software, and
Internet infrastructure $
%
!on demand
always on accessible
anytimeanywhere
!"#$%"&$'

&
#
'
()
*
"
+
,#
+
-
"#$%(%#)!!*+!!*!!
,-
Virtualization:


Middleware:



Runtime:
 
!!*+!!*!!
&#.!&#)
!!)/!/&$
+!!)&$01#2%3#&3
!!)&##$#$%!&&#!
!!*+!!*!!
+).+$.+%
,)/"0
!+/0'
1+.+02
++/ "
. +"/3,
4!"#$%"!!
4&5
!
6 
$#%

!$
%

5$!#6!
(
 
)

*7$"!8%
+$1+%
(,$(,%

'
(,(,
(,.9
Hardware
OS
App App App
Hypervisor
OS OS
Virtualized Stack
5$!#(!
Hardware
Virtual Machine Monitor (VMM) / Hypervisor
Guest OS
(Linux)
Guest OS
(NetBSD)
Guest OS
(Windows)
VM VM VM
AppApp AppAppApp
Xen
VMWare
UML
Denali
etc.
"#$%.!&#)
)+++$+:%
8
!
"#$%.!&#)"
)0""$0";%
($45%
!
<
$45%
9=(,
,7$8"#$%'
"#$%
9&.!+#9+
"HyperText
Transfer Protocol (HTTP)
"3"!
"7
+7
"$%
Web
server
HTTP request
HTTP response
(content)
Web
client
(browser)
/"
.content
7,,0
$,,0 %
0 ,,0
text/html  '3,<
text/plain 8 
application/postscript!
image/gif  2 /6

image/jpeg 2
 >!0/
!,!"
3'33!
staticdynamic
+
'33!7
0 '3,<
?
'33!7
0  

2
%le
8:
07
8*<$8*<%
8*<
http://www.cse.nd.edu:80/index.html
http://www.cse.nd.edu/index.html
http://www.cse.nd.edu
index.html,
www.cse.nd.edu@A
8*<
http://www.cse.nd.edu:8000/cgi-bin/adder?15000&213
 adder
www.cse.nd.edu@AAA
15000213
;!!9+
!!
unix> telnet www.aol.com 80
"
Trying 205.188.146.23...
3:
Connected to aol.com.
Escape character is '^]'.
GET / HTTP/1.1
"7
host: www.aol.com
"7'33!#BB'1+3
"
.
HTTP/1.0 200 OK Server: response line
MIME-Version: 1.0
+
Date: Mon, 08 Jan 2001 04:59:42 GMT
Server: NaviServer/2.0 AOLserver/2.3.3
Content-Type: text/html
+ '3,<
Content-Length: 42092
+ C;AD;
 
+$4
\r\n
5%
<html>
+'3,<
...
+EFF'3,<
</html>
+'3,<
Connection closed by foreign host.
+
unix>
"
9+<$
'33!7
7

)
7
*7<method> <uri> <version>
<version>'33!7
$HTTP/1.0HTTP/1.1%
<uri>8*< 8*<G 

<method>  GET, POST, OPTIONS,
HEAD, PUT, DELETE,  TRACE
9+<$
'33!
GET*
8*
.$DDH7%
POST*
7
OPTIONS/
HEAD<GET
PUT.
DELETE
TRACE07
8
9+&
'33!

)


*
<version> <status code> <status msg>
IJ'33!
IJ
IJ0 
;AA 1= *7
CA: 6 +
CAC & +K
*<header name>: <header data>
!
Content-Type: ,,0
Content-Length: <

*+3$*0+3%


...L

resources

9+
3*0+3
.
.
8*
'33!!
,*7M**M
*
0 '33!
'33!!1+3'33!/03
'33!!83'33!0<030

*0+3

2
'33!
8*<
9,<#'3,<#/6#>!0/#$**%
 #  ###N
$*3,,03%
(!"&
Nouns (Resources)
unconstrained
i.e., http://example.com/employees/12345
Verbs
constrained
i.e., GET
Representations
constrained
i.e., XML

$
3*0+3




$4O
25%
N$%
*$8*'33!%
####ECE
!$
*0+38*
####
####+2&AABB
####+2&AABB#
###
####;FPA
####;FPA#


5/
*

'33!/03
'33!!1+3
'33!!83
'33!0<030
9+=
'
/037

/03###
*
/03####+2&AABBA;B
*+2&AABBA;B
/03####+2&AABBA;B#
*+2&AABBA;B
9++8+1
'33!!1+3
'33!!83
!1+3####
"QRS-T
"
!83####BBB
"QRS-T
8BBB

&!
'

3
>+1N&$>+1&%
9,<


&!
9,<
I"18*+0J
IJ"+;FPAI#J
I&,0J,+I#&,0J
I#"18*+0J
>+1&
Q
Q"+;FPAT
Q,+T
T
";+
"!
*0+3
.
'33!/03!83!1+3
0<030
'33!

$3,;,%
";+
TCP overhead is too high and its flow control is not
appropriate for short-lived transactions
UDP has lower overhead and supports multicast
";+
6
Con%rmableM7"=
Non-con%rmableM"=
AcknowledgementM"="
Reset"
 

";+
"!
3"!
"!

"!7

"=
G


";+
!";+
"!
*0+3
2
6
+),;,
0 #'33!
(>
,U33
,U33
2
+
!
(>
(>
,U33+"
$2,%&$"<%
BDDD

L
3

+
!U+
<20G

"+
(>
2V
3
WV
;PF,2
2
0
N

,7

+$/#?$//"&
Decoupled in space and time:
3
!$%

$%
3K!

&




(>).!&#
"425
"
$X<#BK%
$X<#;K%
$X<#:K%
"
$X<#BKXK%V
$X<#;KXK%V


Messages can be anything
3 


%2@.!&#
7Y7$O7O%V
Y7"$OII!&JJOOBB7OQ
OII8&JJK
OII!JJO
T%V
$OO$%Q##.
##
$O30,!0*38*0Z*0&/O$%Q
##
$OO$%Q
$[*O[\\[OO[\\[O[%V
T%V
T%V
##
$O+03Z30,!0*38*0OO;CO$%Q
$[,[%V
T%V
T%V
&
0
0

3
????&!$
$/&
&!!
$/& $/& $/&
+

G

&
"
,$!/#?!$/&
(( ( ( ( (
$/&
"% "%
,$!/#
"
!
*$45%
3
$
%
1?


1

!
<.3$<.3%M


<.3
<.3
$
<.3%
;A!
+#!
(>
"+
+
"+?++)BB
$3:*"+?+&BBB
:)$:!&
;&&#!
:
&!#
AM$45%
1=$B
%
465
3"!
+$/#C>D#!/#
BM45$
%
8M$;%
"$"=
%
+$/#C>D#!/#
;M4 5
8M
$C%
+$/#C>D#!/#
+$/#C>D#!/#
*3"!
$
%
+U+

(>(!E!
(!A4
(!&
(!&
"&!";+(>
23
"!

8!#!


,U33

3"!#!
V
$%